Toolkit Glossary
================

.. contents:: Contents
   :local:

General Terminology
-------------------

.. glossary::
   NG911 Geodatabase
      A geodatabase intended to be submitted to a central repository for Next Generation 9-1-1 geospatial data.

   Configuration File
   config.yml
   ``config``
      YAML file containing the domains, fields, feature classes, and various other properties of Standards-compliant :term:`NG911 geodatabase`\ s in a structured format. This information is loaded into the Toolkit and exposed in the :data:`ng911ok.lib.session.config` variable.

   Required Feature Classes
      Feature classes that are required to exist in an :term:`NG911 Geodatabase`: :ng911fc:`%%REQUIRED`

   Required Feature Dataset
      A feature dataset, :ng911ds:`required` in the :term:`NG911 Geodatabase` that contains the :term:`required feature classes`.

   Optional Feature Classes
      Feature classes that may optionally exist in addition to the :term:`required feature classes` in an :term:`NG911 Geodatabase`: :ng911fc:`%%OPTIONAL`

   Optional Feature Dataset
      A feature dataset, :ng911ds:`optional` in the :term:`NG911 Geodatabase` that contains the :term:`optional feature classes`.

.. _validation-glossary:

Validation Terminology
----------------------

.. glossary::

   Validation Function
   Validation Method
      An instance method of :class:`~ng911ok.lib.validator.NG911Validator` which checks some aspect of
      the geodatabase for Standards compliance. These methods should typically
      take arguments as described in *Conventions* below and must always return
      a list of :class:`~ng911ok.lib.validation.ValidationErrorMessage` (or a
      subclass thereof) objects (or an empty list, if there are no issues).

   Validation Routine
      An instance of :class:`~ng911ok.lib.validator.ValidationRoutine` that should be bound to
      :class:`~ng911ok.lib.validator.NG911Validator`. Routines are exposed as selectable options in
      the :ng911tool:`Validate Geodatabase` tool, grouped by :term:`validation category`.
      Generally, routines prepare and make calls to
      :term:`validation function`\ s. For instantiation, see :deco:`routine <ng911ok.lib.validator.routine>`.

   Prerequisite Validation
      A :term:`validation function` that must be passed in order to complete
      another validation function.

      .. seealso::

         :meth:`NG911Validator._precheck <ng911ok.lib.validator.NG911Validator._precheck>`


   Validation Helper Function
   Validation Helper Method
      A private method of :class:`~ng911ok.lib.validator.NG911Validator` that performs part of the
      logic of a :term:`validation function`.

   Validation Category
      The heading under which a :term:`validation routine` appears in the
      geoprocessing tool interface.

   Validation Issue
      A :term:`validation error`, :term:`validation warning`, or
      :term:`validation notice` generated by the :ng911tool:`Validate Geodatabase` tool and
      shown in *TemplateCheckResults* or *FieldValuesCheckResults* describing
      a problem or potential problem with the Standards-compliance of the
      :term:`NG911 geodatabase`.

   Severity
      Attribute of a :term:`validation issue` denoting the importance of a
      :term:`validation issue`. The three severities, from highest to lowest,
      are ``Error``, ``Warning``, and ``Notice``. Corresponds to
      :attr:`ValidationErrorMessage.severity <ng911ok.lib.validator.ValidationErrorMessage.severity>`.

   Validation Error
      A :term:`validation issue` of :term:`severity` ``Error``. These indicate
      that some aspect of the NG911 geodatabase is not in compliance with the
      Standards. Validation errors **must** be corrected before submission.

   Validation Warning
      A :term:`validation issue` of :term:`severity` ``Warning``. These
      indicate potential mistakes in the NG911 geodatabase. While a geodatabase
      may be submitted despite warnings, users are strongly encouraged to
      ensure that warnings are not indicative of an error in the data.

   Validation Notice
      A :term:`validation issue` of :term:`severity` ``Notice``. These indicate
      potential mistakes in the NG911 geodatabase that are more likely than
      :term:`validation warning`\ s to actually be intentional and correct. A
      geodatabase with notices may be submitted.